{{tag>Xenial tutoriel application format paquet BROUILLON}}

<note help>Cette page a pour adresse finale [[:tutoriel/installer_application_flatpak|ceci]]</note>

----

{{ http://i.imgur.com/epoTNSU.png?100}}
====== Tutoriel : installer une application avec Flatpak ======

Le système [[:Flatpak]] permet le déploiement de logiciels, la gestion de paquets et la virtualisation d'applications sur ordinateurs personnels. Il fournit un environnement isolé du reste du système (sandbox), où l'utilisateur peut faire fonctionner des applications de manière isolée.

Ce tutoriel vous expliquera comment utiliser [[:Flatpak]] pour installer des logiciels.

<note important>Ce tutoriel précise seulement l'installation en ligne de commande pour le moment, à partir de [[:17.10]] il sera possible d'installer graphiquement des logiciels en format //flatpak// à partir de la [[:gnome-software|logithèque]].</note>

{{ http://i.imgur.com/eKPJNLQ.png?600 |Les logiciels Lollypop, Peek et Eolie sont distribués au format flatpak}}

===== Pré-requis =====

Il faut avoir installé le paquet **[[:flatpak]]** (voir la page de l'application), et d'une connexion internet fonctionnelle.

==== Niveaux de privilèges ====

La plupart des commandes liées à //flatpak// possèdent une option -''-user'', par opposition à l'option par défaut -''-system''.

L'option -''-user'' implique que la manipulation ne concerne que l'utilisateur courant. Cette option est détaillée [[#|plus loin]], mais gardez à l'esprit que les manipulations qui suivent (ajout de dépôts, installation, désinstallation) peuvent être faites en utilisant cette option.

<note important>Les droits d'administration sont nécessaires si vous voulez installer une application sur tout le système (c'est l'option par défaut), mais **ne tapez pas la commande ''sudo''** !

Une fenêtre s'ouvrira pour demander le mot de passe au moment où il sera nécessaire, et uniquement à ce moment là.</note>

===== Ajouter des dépôts =====

Comme tous les gestionnaires de paquets, //flatpak// va chercher ce qu'il lui faut dans des dépôts, qui ne sont pas configurés par défaut, entre autres car ils sont **indépendants de la distribution**.
<note help>Le concept de dépôt flatpak est parfois désigné par le terme "remote" (ce qui signifie "à distance").</note>

Il existe divers dépôts Flatpak différents, le système étant pensé pour être décentralisé. La syntaxe générale de la commande est 
<code>flatpak remote-add --if-not-exists nom_du_dépôt https://adresse-du-dépôt.flatpakrepo</code>

Le dépôt le plus fourni est sans doute **flathub**((https://flathub.org/)), pour ce tutoriel nous n'allons ajouter que celui-ci :
<code>flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo</code>

<note>On peut aussi citer, parmi les dépôts notables et sécurisés, celui des applications [[:GNOME]] :

<code>flatpak remote-add --if-not-exists gnome-apps https://sdk.gnome.org/gnome-apps.flatpakrepo</code>

Les applications GNOME étant pour la plupart sur **flathub**, c'est cependant superflu.</note>

===== Installation de logiciels =====

==== Les runtimes ====

Pour s'exécuter, les applications qu'on installera auront besoin d'un //runtime//.

Il s'agit, en bon français, d'un **environnement d'exécution**(([[wpfr>Environnement d'exécution]])) : dans le cas d'une application "normale", l'environnement d'exécution est directement votre système Ubuntu lui-même, ce qui implique un certain nombre de limitations, notamment en terme de gestion des versions.

Ne soyez pas donc surpris si une confirmation vous sera demandée pour l'installation d'un //runtime//.

<note important>L'installation d'une application est assez courte, mais celle d'un //runtime// peut prendre une bonne minute ; heureusement, des applications distinctes utilisent souvent le même //runtime//.</note>

<note important>Si vous voulez installer quelque chose depuis le dépôt ''gnome-apps'', il faudra au préalable ajouter le dépôt suivant :
<code>flatpak remote-add --if-not-exists gnome https://sdk.gnome.org/gnome.flatpakrepo</code>
qui contient les environnements d'exécution exigés par les applications GNOME.</note>

==== Nommage des logiciels ====

Dans les dépôts (tous, pas seulement //flathub//), les applications sont identifiées par un nom qui suit un format normé, assez différent de ce qui se fait avec [[:apt]] (exemples) :

^ Nom dans le dépôt ^ Application ^
| com.spotify.Client | Client desktop [[:Spotify]] |
| org.gnome.Eolie | Navigateur web [[:Eolie]] |
| org.libretro.RetroArch | [[:emulation|Émulateurs]] RetroArch (retrogaming) |
| io.github.GnomeMpv | GNOME MPV (interface GTK+ 3  pour le lecteur multimédia [[:MPV]]) |
| com.uploadedlobster.peek | Peek (enregistreur de GIF) |
| org.gnome.Lollypop | Lecteur musical [[:Lollypop]] |
| net.sourceforge.chromium-bsu | Le jeu vidéo libre Chromium-BSU |
| net.sourceforge.TuxFootball | Le jeu vidéo 2D TuxFootball |
| org.gtk.Gtk3theme.Arc-Dark | Le [[:tutoriel/personnaliser_gnome|thème GTK+ 3]] "Arc-Dark" |
| com.valvesoftware.Steam | Plateforme de jeux vidéo [[:Steam]] |

L'auto-complétion (double appui sur tab) sera souvent nécessaire pour trouver le nom exact.

==== Installation depuis flathub ====

Pour installer des logiciels, une simple commande suffit ensuite.

Exemple pour [[:Lollypop]] :
<code>flatpak install flathub org.gnome.Lollypop</code>

On peut mettre plusieurs noms d'applications dans la même commande :
<code>flatpak install flathub com.uploadedlobster.peek org.gnome.Recipes</code>

<note tip>Utilisez l'auto-complétion !</note>

===== Options intéressantes =====

==== Installation depuis un fichier ====

Certains distributeurs de logiciels vont proposeront plutôt un fichier ''.flatpakref'' qui s'installe ainsi :

<code>flatpak install --from adresse-du-fichier.flatpakref</code>

L'adresse du fichier peut être le chemin du fichier parmi les documents sur votre disque, ou bien une adresse internet (URL).

Cette technique vous demandera, en cours d'installation, d'ajouter les dépôts nécessaires.

==== Installation pour un seul utilisateur ====

Ajouter l'option -''-user'' permet d'installer l'application uniquement pour l'utilisateur courant.

Exemple :

=== Ajouter le "remote" ===
<code>
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo</code>

=== Installer le logiciel ===

<code>flatpak install --user flathub org.gnome.FeedReader
</code>

Cette commande va installer "FeedReader", un agrégateur de flux RSS pour l'environnement [[:GNOME]], mais **uniquement pour l'utilisateur courant**, les fichiers étant alors stockés dans ''~/.local/share/flatpak/app'' au lieu de ''/var/lib/flatpak/app'' comme ça aurait été le cas normalement.

===== Utiliser vos logiciels =====

Lancez les applications installées comme indiqué **[[tutoriel:comment_lancer_application|ici]]**.

Via le [[:terminal]], la [[:commande_shell|commande]] est :
<code>flatpak run nom.du.logiciel</code>

<note help>Pas la peine de préciser -''-user'' pour l'exécution des applications.</note>

==== Thèmes ====

FIXME à compléter

===== Désinstaller les logiciels =====

La commande est :
<code>flatpak uninstall nom.du.logiciel</code>

<note>Si vous avez installé avec l'option -''-user'', il faudra remettre cette option à la désinstallation.</note>

===== Problèmes connus =====

FIXME à compléter

===== Voir aussi =====

  * **(en)** [[http://www.omgubuntu.co.uk/2017/07/7-flatpak-apps-can-install-right-now-flathub|article d'OMG Ubuntu à propos de l'installation de l'installation par flatpak]]
  * La page dédiée à [[:Flatpak]]
  * La "concurrence" : [[:snap]], [[:appimage]] et [[:apt]]
  * [[:Paquet]]
  * [[http://flatpak.org/|Site officiel flatpak.org]]
  * [[http://flatpak.org/apps.html|Applications disponibles sur flatpak.org]]

----

//Contributeurs : [[:utilisateurs/roschan]]
, ...//